vim.g.encoding = "UTF-8"
vim.o.fileencoding = "UTF-8"

--leader键映射
vim.g.mapleader = '-'



vim.o.tabstop = 4

-- jkhl 移动光标时周围保留8行
vim.o.scrolloff = 8
vim.o.sidescrolloff = 8


vim.wo.number = true
vim.wo.relativenumber = true
-- 高亮显示行号
vim.wo.cursorline = true

-- 显示左侧图标指示列
vim.wo.signcolumn = "yes"

-- 右侧参考线
vim.wo.colorcolumn = "160"


-- 搜索大小写不敏感，除非包含大写
vim.o.ignorecase = true
vim.o.smartcase = true

-- 自动加载外部修改
vim.o.autoread = true
vim.bo.autoread = true

-- 禁止折行
vim.wo.wrap = false

--光标在行首尾时<left><right>可以调到下一行
vim.o.whichwrap = "<,>,[,]"

--鼠标支持
vim.o.mouse = "a"

-- 禁止创建备份
vim.o.backup = false
vim.o.writebackup = false
vim.o.swapfile = false

-- 自动补全 不自动选中
vim.g.completeopt = "menu,menuone,noselect,noinsert"
-- 样式
vim.o.background = "dark"
-- vim.o.termguicolors = true
-- vim.opt.termguicolors = true

-- 不可见字符的显示，这里只把空格显示为一个点
vim.o.list = false
vim.o.listchars = "space:·,tab:>-"
vim.wildmenu = true
vim.o.shortmess = vim.o.shortmess .. "c"

-- 补全显示10行
vim.o.pumheight = 10
vim.clipboard = "unnamedplus"

-- 插件区域
local vim = vim
local Plug = vim.fn['plug#']

vim.call('plug#begin')

-- 文件树菜单
Plug('preservim/nerdtree', { ['on'] = 'NERDTreeToggle' })

-- 全文搜索 2个插件一起
Plug('nvim-lua/plenary.nvim')
Plug('nvim-telescope/telescope.nvim', { ['tag'] = '0.1.8'})

-- 自动注释
Plug('numToStr/Comment.nvim')



vim.call('plug#end')

-- 文件树菜单快捷键
vim.api.nvim_set_keymap('n', '<leader>t', ':NERDTreeToggle<CR>', { noremap = true, silent = true })
-- nnoremap <leader>n :NERDTreeFocus<CR>
-- nnoremap <C-n> :NERDTree<CR>
-- nnoremap <C-t> :NERDTreeToggle<CR>
-- nnoremap <C-f> :NERDTreeFind<CR>

-- 全文搜索配置
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})

-- 自动注释 默认快捷键gcc
require('Comment').setup()


